/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package huffman;

import arbre.ArbreHuffman;
import fileNoeud.FilePrioriteeDeNoeud;

/**
 *
 * @author ksz
 */
public class Encodeur implements Runnable {

    private CompterFrequences compterFrequence;
    private FilePrioriteeDeNoeud filePrioritee;
    private ArbreHuffman arbre;
    private EncoderFichier encoderFichier;
    private String nomFichier;

    public Encodeur (String nomFichier) {
        
        this.nomFichier = nomFichier;
   
    }

    public void run() {
        this.compterFrequence = new CompterFrequences (nomFichier);
        this.filePrioritee = new FilePrioriteeDeNoeud();
        this.arbre = new ArbreHuffman();
        this.filePrioritee.construireFilePrioritee(compterFrequence.getDictionnaireFrequences());
        arbre.construireArbre(filePrioritee);
        arbre.afficherBitsCode();
        encoderFichier = new EncoderFichier(nomFichier, arbre, compterFrequence.getDictionnaireFrequences());
    }
}
